package fiuba.algo3.algoThieft.vista;

import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import fiuba.algo3.algoThieft.controlador.Controlador;
import fiuba.algo3.algoThieft.modelo.Juego;

public class VentanaInicio extends Ventana {
	
	
	private TextField textoNombre = new TextField();
	private Button botonAceptar = new Button("Aceptar");
	private Juego modelo;
	private Controlador control;

	public VentanaInicio(Juego modelo, Controlador control){
	this.frame = new Frame("AlgoThieft"); //creando el marco
	this.frame.add("North", new Label("Ingrese su nombre"));  //agrego un titulo
	this.frame.add("Center", this.textoNombre); //agrego el texto donde el usuario ingresara su nombre
	Panel panelBotones = new Panel(); //creo un panel para el boton
	panelBotones.add(this.botonAceptar);  //agrego el boton de "Aceptar" al panel				
	this.frame.add("South", panelBotones);  //agrego el panel al marco
	this.frame.setSize(300,110);  //seteo las dimensiones del marco
	
	new CentralizadorDeVentana().centrarVentana(this.frame);

	//agrego el listener del evento de cerrado de la ventana		
	this.frame.addWindowListener(new CloseListener());
	
	//agrego el listener del boton aceptar		
	this.botonAceptar.addActionListener(control.getListenerBotonAceptar());
	//agrego el listener al texto
	this.textoNombre.addTextListener(control.getListenerTextoNombre());
	
	this.control = control;
	this.modelo = modelo;
	
	}
	
	
	public static class CloseListener extends WindowAdapter	
	{	public void windowClosing(WindowEvent e)
	{	e.getWindow().setVisible(false);
	System.exit(0);
	}
	}


	
	public void verificarContenidoDelCampoDeTexto() {
		
			if ( (modelo.getPersonajeActual() == null) && (!(this.textoNombre.getText().equals("") ) ) ) {
			
			String unNombre = this.textoNombre.getText();
			
			// agrego el suppress porque es el controlador
			// el que hace algo con la respuesta del Dialog
			@SuppressWarnings("unused")
			DialogSiNo dialogo = new DialogSiNo( this.frame , "No existe el personaje "+ unNombre  , "Desea crearlo?" , this.control.getListenerDialogoCrearPersonaje() );
			this.textoNombre.setText("");		
			}
		
		
		
		
	}

	
}
